Steps to Build and Run the Docker Image
- Download the domain binary files, Cycle Web Distribution as mentioned in the Prerequisites section of this document.
- Extract the Cycle web distribution.
-
Create a directory named externallibs to place the 3rd party application libraries, configuration and property files required.
-
Copy the downloaded Cycle distribution zip under the externallibs/zip directory.
-
Ensure that you copy the latest following configuration files from <Cycle distribution zip>/conf directory into the externallibs/conf directory(This step is extremely important):
-
cycle-coherence-cache-config.xml
-
cycle-coherence-config.xml
-
Cycle.properties
-
dataIntake-spring-beans-false.xml
-
dataIntake-spring-beans-true.xml
-
logging.properties
-
-
Copy the following files from the <Cycle distribution zip>/libs directory into the externallibs directory:
-
commons-collections4-4.5.0.jar
-
commons-logging-1.3.6.jar
-
jakarta.el-api-6.0.1.jar
-
jakarta.persistence-api-3.2.0.jar
-
eclipselink-4.0.9.jar
-
spring-instrument-6.2.18.jar
-
Download aspectj 1.9.1.jar from https://www.eclipse.org/downloads/download.php?file=/tools/aspectj/aspectj-1.9.1.jar.
-
Open aspectj-1.9.1.jar with an unzipping software and retrieve aspectjrt.jar and aspectjweaver.jar from the lib folder.
-
Copy aspectjrt.jar and aspectjweaver.jar into externallibs sub-directory.
-
-
Copy the following jars from the Oracle Installation directory (path as mentioned below) to the externallibs folder.
-
. ../Middleware/Oracle_Home/oracle_common/modules/oracle.osdt/osdt_core.jar.
-
.. ../Middleware/Oracle_Home/oracle_common/modules/oracle.osdt/osdt_cert.jar.
-
-
Note: Rename all the jars without version names. This is to avoid version updates in the Docker script.
Example:
commons-collections4.jar
commons-logging.jar
aspectjrt.jar
aspectjweaver.jar
eclipselink.jar
jakarta.persistence.jar
osdt_core.jar
osdt_cert.jar
-
-
If the Cycle application is ATP compliant, then copy the required ATP (Autonomous Transaction Processing) database files under the externallibs/shared directory. The folder structure is as follows:
-
Under the ojdbc folder, copy all the libs to the ojdbc folder.
Under the wallet folder
-
Note: Maintain the externallibs folder and place the required libraries and supported files as discussed in earlier steps. Check the below snippets for your reference.
Under the "conf" folder,
Note: Place the OIPA build artifacts that are downloaded from the Oracle Software Delivery Cloud in the externallibs/zip directory. Refer the following image.
From the copied location, execute the following command:
docker build format
$docker build -t <Image_Name>:<Image_Tag> --build-arg APP_DOMAIN_NAME="<Domain_Name>" --build-arg CYCLE_PKG="<Cycle Package Name>" --build-arg APP_VERSION="<Build Release Version>"
docker build example
$ docker build -t cycle_wls:12.2.0.0 --build-arg APP_DOMAIN_NAME="cycle_domain" --build-arg CYCLE_PKG="CycleWeb-weblogic-distribution.zip" --build-arg APP_VERSION=12.2.0.0
To start the containerized Cycle Web application, run
docker run format
$ docker run -itd --privileged -v /path/to/the/externallibs:/u01/oracle/externallibs --env-file /path/to/the/cycle_env.dat --name <Container_Name> --hostname <Container_HostName> -p <AdminServer_External_Port>:<AdminServer_Container_Port> -p <MS_External_Port>:<MS_Container_Port> --sysctl net.ipv4.ip_local_port_range="1024 65000" <Image_Name>:<Image_Tag> createServer.sh $DB_TYPE
docker run example
For ORACLE:
docker run -itd --privileged -v /path/to/externallibs:/u01/oracle/externallibs --env-file /home/cycle_env.dat --name cycle_wls --hostname cyclewlsadmin -p 8020:8020 -p 8021:8021 --sysctl net.ipv4.ip_local_port_range="1024 65000" cycle_wls:12.2.0.0 createServer.sh ORACLE
For MSSQL:
docker run -itd --privileged -v /path/to/externallibs:/u01/oracle/externallibs --env-file /home/cycle_env.dat --name cycle_wls --hostname cyclewlsadmin -p 8020:8020 -p 8021:8021 --sysctl net.ipv4.ip_local_port_range="1024 65000" cycle_wls:12.2.0.0 createServer.sh MSSQL
Ensure you define the Database names as following (Case Sensitive)
Oracle Database: ORACLE
SQL Database: MSSQL
Check docker logs:
$ docker logs -f cycle_wls
Note: The "APP_DOMAIN_NAME" build argument from the "docker build ...." command and the "--hostname" flag from the "docker run ..." commands should be the same which you denoted in the cycle_env.dat file.
The following are a few snippets of the Cycle AdminConsole.
Deployments
Admin Server DataSource
DataIntake JMS Server
DataIntake JMS Module
Cycle Web Page
To check the logs, execute:
docker logs format
$ docker logs -f <container name>
Example:
$ docker logs -f cycle_wls
Refer to the cycle_env.dat file for more information regarding these variables.